Page History: Security Definition Request
Compare Page Revisions
Page Revision: 2014/10/23 16:25
Definition of SecuritiesThe T4 FIX API provides a mechanism to list the securities available for trading and market data streaming. All Security Definition Request messages (Tag 35=c) are successfully responded with one or more
Security Definition messages.
For outrights, spreads, options and multi-legged strategies, the result sets contain information about Exchange identifier, Contract identifier, Market identifier, pricing, minimum trading volumes, minimum price amount (including Variable Tick Tables), quantity leg ratios, buy/sell sides, put/call type, strikes, etc. The Security Definition Request message (Tag 35=c) may interrogate the T4 FIX API for the available exchanges, contracts within an exchange and markets for a specific contract. In all cases, the Security Request Type (Tag 321) is set to request the list of securities (Tag 321=3). The combination of Security Type (Tag 167), Security Exchange (Tag 207), Symbol (55) and SecurityID (Tag 48) determines the returned record set.
Under the FIX T4 API, securities are defined by their Exchange, contracts within an exchange and markets for a specific contract. Exchanges are identified by an unique Exchange ID in Tag 207 (SecurityExchange). Contracts are characterized by its Contract ID in Tag 55 (Symbol). Markets are identified by an unique Market ID by Tag 48 (SecurityID).
The Security Definition Request message covers the following uses:
1.
List Exchanges (Get Exchange IDs): SecurityType (Tag 167) only needs to be specified as input. This request returns all Exchange IDs in the SecurityExchange (Tag 207) with a corresponding description.
2.
List Contracts within an Exchange (Get Contract IDs): SecurityType (Tag 167) needs to be specified as input. SecurityExchange (Tag 207) must also contain the exchange ID for which the contract list is requested. For an option query, the PutOrCall parameter can also be specified (Tag 201). As a result, the request returns all Contract IDs in the Symbol (Tag 55) with a contract description in SecurityDesc (Tag=107).
3.
List Current Markets of a Specific Contract (Get Market IDs): SecurityType (Tag 167) needs to be specified as input. SecurityExchange (Tag 207) and Symbol (Tag 55) must also be provided to determine the contract for which the market list is requested. SecuritySubType (Tag 762) may optionally be specified to reduce the result set. For instance, to request only Outright Futures you may set Tag 762=0. Among other market description parameters, the Market ID is returned in the SecurityID (Tag 48) of the Security Definition message.
4.
List a Specific Current Market (Get Market ID): To request information about a specific market, the Get Market IDs request (just above) is augmented to also include the Market ID (in Tag 48 - SecurityID) of the specific market. To pinpoint the market in the request, the input parameters will include Security Type (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55) and SecurityID (Tag 48). On success, the descriptive parameters for this specific Market ID are returned.
5.
List Expired Markets for a specific Maturity (Get Expired Markets for Maturity): To request information for expired markets that include the specified maturity. The parameters to be provided include SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55). SecurityRequestType (Tag 321) set to REQUEST_LIST_SECURITIES_ONLY_EXPIRED and MaturityDate (Tag 200) set to the desired maturity. No SecurityID (Tag 48) needs to be specified.
6.
List all Only Expired Markets (Get Expired Markets): To request information about all markets only expired markets. The parameters to be provided include SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55) and SecurityRequestType (Tag 321) must be set to REQUEST_LIST_SECURITIES_ONLY_EXPIRED. No SecurityID (Tag 48) needs to be specified. The response from this request usually results in many messages as all maturities (for outrights only) returned.
Enabling Security Definition RequestsTo receive
Security Definitions as responses to Security Definition Requests, the FIX session initiator
Logon message must have Tag 372 (RefMsgType) set to "c" (i.e. Enable security definitions requests).
Message DictionaryTag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = c |
320 | SecurityReqID | Y | Security Definition Request identifier. Must be unique to distinguish security definition requests |
321 | SecurityRequestType | Y | Type of Security Definition Request. The valid values are: |
| | | 3 = REQUEST_LIST_SECURITIES - For Active (Current) markets. |
| | | 4 = REQUEST_LIST_SECURITIES_ONLY_EXPIRED - For markets that have expired (i.e. no longer trading). Only Outrights are returned. |
167 | SecurityType | N | Indicates type of security. The following values can be used: |
| | | FUT = Futures |
| | | OPT = Options |
| | | STK = Stock |
| | | SYN = Synthetic |
| | | BIN = Binary Option |
207 | SecurityExchange | N | Exchange. This is the T4 Exchange ID. |
55 | Symbol | N | Contract within an Exchange. This is the T4 Contract ID. Related contracts are also returned. |
48 | SecurityID | N | Market (i.e. Security) for a given Contract. This is the T4 Market ID. |
201 | PutOrCall | N | Put Or Call identifier (for Options Security Type). The following values can be used: |
| | | 0 = Put |
| | | 1 = Call |
200 | MaturityMonthYear | N | Month-Year of expired markets. Format: YYYYMM00 or YYYYMM. |
762 | SecuritySubType | N | Security SubType that further describes the security. For active markets only. The following values can be used: |
| | | 0 = None (Outrights) |
| | | 1 = Calendar Spread |
| | | 2 = RT Calendar Spread |
| | | 3 = Inter Contract Spread |
| | | 4 = Butterfly |
| | | 5 = Condor |
| | | 6 = Double Butterfly |
| | | 7 = Horizontal |
| | | 8 = Bundle |
| | | 9 = Month vs Pack |
| | | 10 = Pack |
| | | 11 = Pack Spread |
| | | 12 = Pack Butterfly |
| | | 13 = Bundle Spread |
| | | 14 = Strip |
| | | 15 = Crack |
| | | 16 = Treasury Spread |
| | | 17 = Crush |
| | | 18 = None |
| | | 19 = Threeway |
| | | 20 = Threeway Straddle vs Call |
| | | 21 = Threeway Straddle vs Put |
| | | 22 = Box |
| | | 23 = Christmas Tree |
| | | 24 = Conditional Curve |
| | | 25 = Double |
| | | 26 = Horizontal Straddle |
| | | 27 = Iron Condor |
| | | 28 = Ratio 1x2 |
| | | 29 = Ratio 1x3 |
| | | 30 = Ratio 2x3 |
| | | 31 = Risk Reversal |
| | | 32 = Straddle Strip |
| | | 33 = Straddle |
| | | 34 = Strangle |
| | | 35 = Vertical |
| | | 36 = Jelly Roll |
| | | 37 = Iron Butterfly |
| | | 38 = Guts |
| | | 39 = Generic |
| | | 40 = Diagonal |
| | | 41 = Covered Threeway |
| | | 42 = Covered Threeway Straddle vs Call |
| | | 43 = Covered Threeway Straddle vs Put |
| | | 44 = Covered Box |
| | | 45 = Covered Christmas Tree |
| | | 46 = Covered Conditional Curve |
| | | 47 = Covered Double |
| | | 48 = Covered Horizontal Straddle |
| | | 49 = Covered Iron Condor |
| | | 50 = Covered Ratio 1x2 |
| | | 51 = Covered Ratio 1x3 |
| | | 52 = Covered Ratio 2x3 |
| | | 53 = Covered Risk Reversal |
| | | 54 = Covered Straddle Strip |
| | | 55 = Covered Straddle |
| | | 56 = Covered Strangle |
| | | 57 = Covered Vertical |
| | | 58 = Covered Jelly Roll |
| | | 59 = Covered Iron Butterfly |
| | | 60 = Covered Guts |
| | | 61 = Covered Generic |
| | | 62 = Covered Diagonal |
| | | 63 = Covered Butterfly |
| | | 64 = Covered Condor |
| | | 65 = Covered Horizontal |
| | | 66 = Covered Strip |
| | | 67 = Covered Option |
| | | 68 = Balanced Strip |
| | | 69 = Unbalanced Strip |
| | | 70 = Inter Contract Strip |
| Standard Trailer | Y |
Sample Messages
Requesting all exchanges
>> 10/15/2012 4:22:27 PM [FIXSECURITYDEFINITIONREQUEST] 34=2|49=T4Example|56=T4|52=20121015-21:22:27.673|320=sc-10/15/2012 4:22:27 PM|321=3|167=FUT|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 2
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SendingTime] 52 = 20121015-21:22:27.673
[SecurityReqID] 320 = sc-10/15/2012 4:22:27 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[SecurityType] 167 = FUT (FUTURE)
Requesting all contracts for a specific exchange
>> 10/15/2012 4:22:39 PM [FIXSECURITYDEFINITIONREQUEST] 34=3|49=T4Example|56=T4|52=20121015-21:22:39.638|320=sc-10/15/2012 4:22:39 PM|321=3|167=FUT|207=CME_Eq|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 3
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SendingTime] 52 = 20121015-21:22:39.638
[SecurityReqID] 320 = sc-10/15/2012 4:22:39 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[SecurityType] 167 = FUT (FUTURE)
[SecurityExchange] 207 = CME_Eq
Requesting all markets for a specific contract
>> 10/15/2012 4:23:22 PM [FIXSECURITYDEFINITIONREQUEST] 34=7|49=T4Example|56=T4|52=20121015-21:23:22.117|320=sc-10/15/2012 4:23:22 PM|321=3|55=ES|167=OPT|201=1|207=CME_EqOp|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 7
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SendingTime] 52 = 20121015-21:23:22.117
[SecurityReqID] 320 = sc-10/15/2012 4:23:22 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[Symbol] 55 = ES
[SecurityType] 167 = OPT (OPTION)
[PutOrCall] 201 = 1 (CALL)
[SecurityExchange] 207 = CME_EqOp
Requesting a specific market
>> 10/15/2012 4:40:18 PM [FIXSECURITYDEFINITIONREQUEST] 34=4|49=T4Example|56=T4|52=20121015-21:40:18.421|320=sc-10/15/2012 4:40:18 PM|321=3|55=ES|167=FUT|207=CME_Eq|48=CME_20121200_ESZ2|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 4
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SendingTime] 52 = 20121015-21:40:18.421
[SecurityReqID] 320 = sc-10/15/2012 4:40:18 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[Symbol] 55 = ES
[SecurityType] 167 = FUT (FUTURE)
[SecurityExchange] 207 = CME_Eq
[SecurityID] 48 = CME_20121200_ESZ2
FIX API Home Page.